using System;

namespace SermaugDotnet.Protocols
{
    /// <summary>
    /// 数据帧 同步的结果
    /// </summary>
    internal enum FrameSyncResult : byte
    {
        /// <summary>
        /// 为接收到数据
        /// </summary>
        Null,

        /// <summary>
        /// 成功接收数据，且数据明确表示未有改动（即客户端无输入变化）
        /// </summary>
        Unchanged,

        /// <summary>
        /// 成功接收数据
        /// </summary>
        Synced
    }

    /// <summary>
    /// 数据帧 的类型
    /// </summary>
    internal enum FrameType : byte
    {
        /// <summary>
        /// 至关重要 必须传达
        /// </summary>
        Critical,

        /// <summary>
        /// 重要 必须传达
        /// </summary>
        Important,

        /// <summary>
        /// 一般
        /// </summary>
        Normal,
    }

    /// <summary>
    /// 数据帧 广播类型
    /// </summary>
    internal enum FrameBroadcastType : byte
    {
        /// <summary>
        /// 全局广播
        /// </summary>
        Broadcast,

        /// <summary>
        /// 多对象广播
        /// </summary>
        MultiTarget,

        /// <summary>
        /// 单对象广播
        /// </summary>
        SingleTarget,

        /// <summary>
        /// 对自身
        /// </summary>
        Echo,

        /// <summary>
        /// 仅对服务器
        /// </summary>
        ServerOnly,
    }
}